/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.Ufes.exeSwing.Collection;

import edu.Ufes.exeSwing.Persistence.AgenciaPersistence;
import edu.Ufes.exeSwing.Model.Agencia;
import java.util.Iterator;
import java.util.TreeSet;

/**
 *
 * @author bhetynnacatalunha
 */
public class AgenciaCollection {

    AgenciaPersistence agenciaPersistencia;

    public AgenciaCollection(AgenciaPersistence pAgenciaPersistencia) {
        this.agenciaPersistencia = pAgenciaPersistencia;
    }

    public void incluirAgencia(Agencia pAgencia) {
        TreeSet<Agencia> agencias = new TreeSet<Agencia>();
        agencias = agenciaPersistencia.recuperarAgencias();
        agencias.add(pAgencia);
        agenciaPersistencia.salvarAgencia(agencias);
    }

    public void excluirAgencia(Agencia pAgencia) {
        TreeSet<Agencia> agencias = new TreeSet<Agencia>();
        agencias = agenciaPersistencia.recuperarAgencias();
        agencias.remove(pAgencia);
        agenciaPersistencia.salvarAgencia(agencias);
    }

    public Agencia getUmaAgencia(String pCodigo) {
        Agencia retorno = null;
        Agencia agencia = null;
        TreeSet<Agencia> agencias;
        agencias = agenciaPersistencia.recuperarAgencias();
        Iterator<Agencia> itAgencias = agencias.iterator();
        while (itAgencias.hasNext()) {
            agencia = itAgencias.next();
            if (agencia.getCodigo().equals(pCodigo)) {
                retorno = agencia;
            }
        }
        return retorno;
    }

    public TreeSet<Agencia> getTodasAgencias() {
        TreeSet<Agencia> agencias = agenciaPersistencia.recuperarAgencias();
        return agencias;
    }
    
    public void editarAgencia(Agencia pAgencia, String pCodigo){
        TreeSet<Agencia> agencias = new TreeSet<Agencia>();
        agencias = agenciaPersistencia.recuperarAgencias();
        Agencia a = this.getUmaAgencia(pCodigo);
        this.excluirAgencia(a);
        agencias.add(pAgencia);
        agenciaPersistencia.salvarAgencia(agencias);
    
    }
}
